package com.rc.saas.mini.minip.token;

import com.rc.saas.mini.minip.vo.LoginInfoVo;

/**
 * 登录TOKEN管理器
 */
public interface TokenLoader {
    /**
     * 创建TOKEM,将loginInfo信息保存到Redis中
     * @param loginInfo
     * @return
     */
    String createToken(LoginInfoVo loginInfo);

    /**
     * 验证TOKEN
     * @param token
     * @return
     */
    Boolean verifyToken(String token);

    /**
     * 读取TOKEN
     * @param token
     * @return
     */
    LoginInfoVo readToken(String token);

    /**
     * 刷新TOKEN
     * @param token
     * @param updateLoginInfo
     * @return
     */
    String updateToken(String token, LoginInfoVo updateLoginInfo);

    /**
     * 删除TOKEN
     * @param token
     */
    void deleteToken(String token);
}

